package com.gitee.hljdrl.dsbridge.basis;

import android.content.Context;

import com.gitee.hljdrl.dsbridge.jsapi.DSChannel;
import com.gitee.hljdrl.dsbridge.jsapi.DSExecute;
import com.gitee.hljdrl.dsbridge.jsapi.DSPlugin;

public interface WebViewEvent {

    String NAME_CHANNEL = "_dsb";

    String NAME_EXECUTE = "_dsbridge";

    String LOG_TAG = "DSBridge";

    String KEY_URL = "_URL";

    String OPTION_ZOOM_ENABLE = "_setting_zoom_enable";

    boolean isDebug();

    void executeScript(final String script);

    void runOnMainThread(Runnable runnable);

    void evaluateScript(final String script);

    DSPlugin findDSPlugin(String name);

    void setAlertBoxBlock(boolean alertBoxBlock);

    boolean isAlertBoxBlock();

    void closePage();

    void onCreateDSPlugin();

    DSChannel getDSChannel();

    DSExecute getDSExecute();

    void createDSChannel();

    void createDSExecute();

    void addDSPlugin(String name, Class<? extends DSPlugin> cls);

    void addDSPlugin(String name, DSPlugin dsPlugin);

    Context getContext();


}
